/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladores;

import beans.CandidatoBean;
import dao.CandidatoDAO;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author programador
 */

public class CandidatoControlador {
        
   private CandidatoBean candidatoSelecionado;
   private CandidatoDAO candidatoDAO;
   private List<CandidatoBean> candidatos = new ArrayList<CandidatoBean>();
   private List lista;
   
   public List getLista() throws Exception {
        
       CandidatoDAO dao = new CandidatoDAO();
       this.lista = dao.getTodosCandidatos();
       return this.lista;
        
   }
   
   public CandidatoBean getCandidatoSelecionado() {
      return candidatoSelecionado;
   }

   public void setCandidatoSelecionado(CandidatoBean candidatoSelecionado) {
      this.candidatoSelecionado = candidatoSelecionado;
   }

   public List<CandidatoBean> getCandidatos() {
      return candidatos;
   }

   public void setCandidatos(List<CandidatoBean> candidatos) {
      this.candidatos = candidatos;
   }
   
   public List<CandidatoBean> complete(String query) throws Exception {
        
      candidatoDAO = new CandidatoDAO();
      this.candidatos = candidatoDAO.getTodosCandidatos();
      List<CandidatoBean> sugestoes = new ArrayList<CandidatoBean>();
      
      for(CandidatoBean c: this.candidatos) {
         if(c.getNome().toUpperCase().startsWith(query.toUpperCase())) {
            sugestoes.add(c);
         }
      }
      return sugestoes;
              
   }
        
    public String salvar(CandidatoBean candidato) {
    
       try {
          CandidatoDAO dao = new CandidatoDAO();
          dao.salvar(candidato); 
          return "sucesso";
       }
       catch(Exception e) {
          return "fracasso";
       }
        
    }
    
    public String editar(CandidatoBean candidato) {
      
       try {
          CandidatoDAO dao = new CandidatoDAO();
          dao.editar(candidato);
          return "sucesso";
       }
       catch(Exception e) {
          System.out.println("Falha ao tentar editar candidato! " + e);
          return "fracasso";
       }
        
    }
    
    public String excluir(CandidatoBean candidato) {
        
       try {
          CandidatoDAO dao = new CandidatoDAO();
          dao.excluir(candidato);
          return "sucesso";
       }
       catch(Exception e) {
          System.out.println("Falha ao tentar excluir candidato! " + e);
          return "fracasso";
       }
        
    }
    
    public String pesquisar(CandidatoBean candidato) {
    
       try {
          CandidatoDAO dao = new CandidatoDAO();
          dao.getCandidatoEspecifico(candidato.getNome());
          return "sucesso";
       }    
       catch(Exception e) {
          System.out.println("Falha ao tentar pesquisar candidato! " + e);
          return "fracasso";
       }
       
    }
    
}